return {
  "folke/snacks.nvim",
  ---@type snacks.Config
  keys={
   -- { "<leader>fe", false },
   --  { "<leader>fE", false },
   --  { "<leader>e", false },
  },
  opts = {
    scroll = {  enabled = false },
    indent = {
      indent = {
        priority = 1,
        enabled = false, -- enable indent guides
        char = "│",
        only_scope = false, -- only show indent guides of the scope
        only_current = true, -- only show indent guides in the current window
        hl = "snacksindent8", ---@type string|string[] hl groups for indent guides
        -- can be a list of hl groups to cycle through
        hl = {
          "snacksindent1",
          "snacksindent2",
          "snacksindent3",
          "snacksindent4",
          "snacksindent5",
          "snacksindent6",
          "snacksindent7",
          "snacksindent8",
        },
      },
      ---@class snacks.indent.scope.config: snacks.scope.config
      scope = {
        enabled = false, -- enable highlighting the current scope
        priority = 200,
        char = "│",
        underline = false, -- underline the start of the scope
        only_current = true, -- only show scope in the current window
        -- hl = "snacksindentscope", ---@type string|string[] hl group for scopes
        hl = {
          "rainbowred",
          "rainbowyellow",
          "rainbowblue",
          "RainbowOrange",
          "RainbowGreen",
          "RainbowViolet",
          "RainbowCyan",
        },
      },
      chunk = {
        -- when enabled, scopes will be rendered as chunks, except for the
        -- top-level scope which will be rendered as a scope.
        enabled = true,
        -- only show chunk scopes in the current window
        only_current = true,
        priority = 100,
        hl = "SnacksIndentChunk", ---@type string|string[] hl group for chunk scopes
        -- hl = {
        -- "SnacksIndent1",
        -- "SnacksIndent2",
        -- "SnacksIndent3",
        -- "SnacksIndent4",
        -- "SnacksIndent5",
        -- "SnacksIndent6",
        -- "SnacksIndent7",
        -- "SnacksIndent8",
        --   -- "#E06C75", -- 红色
        -- },
        char = {
          -- corner_top = "┌",
          -- corner_bottom = "└",
          corner_top = "╭",
          corner_bottom = "╰",
          horizontal = "─",
          vertical = "│",
          arrow = ">",
        },
      },
      blank = {
        -- priority = 199,
        -- char = " ",
        char = "·",
        hl = "SnacksIndentBlank", ---@type string|string[] hl group for blank spaces
      },
    },
  },
  config = function(_, opts)
    -- 先定义颜色 - 使用有效的高亮组名
    local colors = {
      { name = "SnacksIndent1", color = "#E06C75" }, -- 红色
      { name = "SnacksIndent2", color = "#98C379" }, -- 绿色
      { name = "SnacksIndent3", color = "#E5C07B" }, -- 黄色
      { name = "SnacksIndent4", color = "#61AFEF" }, -- 蓝色
      { name = "SnacksIndent5", color = "#C678DD" }, -- 紫色
      { name = "SnacksIndent6", color = "#56B6C2" }, -- 青色
      { name = "SnacksIndent7", color = "#D19A66" }, -- 橙色
      { name = "SnacksIndent8", color = "#ABB2BF" }, -- 灰色
    }
    
    for _, hl in ipairs(colors) do
      vim.api.nvim_set_hl(0, hl.name, { fg = hl.color })
    end
    
    -- 然后初始化插件
    require("snacks").setup(opts)
  end,
}
